package com.myz.rabbitmq.study2;

import com.myz.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.Channel;

import java.util.Scanner;

// 生产者 可以发送大量消息
public class Producer01 {
    // 指定队列名称
    public static final String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception {
        // 获取信道
        Channel channel = RabbitMqUtils.getChannel();
        /*
         * 生成一个队列，参数列表
         * 1.队列名称
         * 2.队列里面的消息是否持久化到磁盘中，默认消息存储在内存中
         * 3.该队列是否只供一个消费者进行消费 是否进行消息共享 true可以多个消费者消费 false：只能一个消费者消费
         * 4.是否自动删除 消费者断开连接后 队列是否自动删除
         * 5.其它参数
         * */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < 10; i++) {
            String message = scanner.nextLine();
            /*
            * 信道发送消息的方法 basicPublish(args)
            * 1,发送到哪个交换机，2,路由的key值 本次是队列名
            * 3,其他参数 4,发送消息的消息体
            * */
            channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
        }
    }
}
